#pragma once
#include "GSE_Predefines.h"
namespace GSE
{
	class GSE_NOVTABLE IRow
	{
	public:
		virtual uint Size() const = 0;
		virtual void Push(const char * strVal,uint uLen)	= 0;
		virtual const char * operator [] (int uIndex) const				= 0;
		virtual const char * operator [] (const char * strFieldName) const	= 0;

		GSE_INTERFACE_NONCOPY(IRow);
	};

	class GSE_NOVTABLE IDataSet
	{
	public:
		virtual uint Size() const = 0;
		virtual uint FieldCount() const = 0;
		virtual uint FieldIndex(const char * strFieldName) const = 0;
		virtual const IRow & operator [] (int index) const = 0;

		GSE_INTERFACE_NONCOPY(IDataSet);
	};
}